home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
041-050
/
amok42
/
menu
/
menu.def
next >
Wrap
Text File
|
1993-11-04
|
3KB
|
56 lines
(*******************************************************************************
:Program. Menu.def
:Author. Jan Behrens
:Address. Hauptstraße 13, 2211 Holstenniendorf
:Copyright. PD, siehe Menu.dok
:Language. Modula-2
:Translator. M2Amiga
:History. V1.0 8.Aug.90, Hoffentlich nur wenige Fehler !
:Support. Interruptroutine [fbs]
:Contents. Menus, mit denen auf einfache Weise mit Maus und Tastatur
:Contents. eine Auswahl getroffen werden kann
*******************************************************************************)
DEFINITION MODULE Menu;
FROM Intuition IMPORT IntuiTextPtr,WindowPtr,ImagePtr;
FROM Exec IMPORT MsgPortPtr;
FROM SYSTEM IMPORT ADDRESS,LONGSET;
(*Damit DrawMenu funktioniert, müssen in der NewWindow-Struktur folgende Flags
gesetzt sein :
-IDCMPFlagSet{mouseButtons,rawKey,mouseMove};
-WindowFlags{reportMouse} *)
TYPE MenuType = (selectMenu,checkMenu);
MenuFlags = (menuBorder,standardWidth,invertItems,borderItems,cycleItems,
changeColorItems,customCheckMark,clearFirst,saveBack);
MenuFlagSet= SET OF MenuFlags;
MenuPtr = POINTER TO Menu;
Menu = RECORD
leftEdge,topEdge:INTEGER; (*Linke & Obere Ecke des Menüs *)
width,height:INTEGER; (*Breite,Höhe des Menüs *)
type:MenuType; (*Type des Menus *)
flags:MenuFlagSet; (*Besonderheiten des Menüs *)
numItems:CARDINAL; (*Anzahl der Items *)
selectedItems:LONGSET; (*Aktivierte Items; Nur bei
type=CheckMenu *)
checkMark:ImagePtr; (*Alternativer Check-Haken;
nur für Check-Menüs;
CustomCheckMark muß in flags
gesetzt werden *)
standWidth:CARDINAL; (*Alle Items bekommen einen
Border oder einen anderen
Select-Zustand mit dieser
Breite, standardWidth muß in
Flags gesetzt werden ! *)
hailText:IntuiTextPtr; (*Überschrift des Menus *)
firstText:IntuiTextPtr; (*Zeiger auf die erste
Item(IntuiText)-Struktur *)
END;
PROCEDURE DrawMenu(WPtr:WindowPtr;MPtr:MenuPtr):CARDINAL;
(*WPtr : Zeiger auf das Window, in dem das Menu dargestellt werden soll
MPtr : Zeiger auf die Menu-Struktur
CARDINAL: Nummer des angewählten Items, nur bei selectMenu sinnvoll *)
END Menu.